/* 用顺序表最后一个元素覆盖顺序表中的最小元素，并返回该最小元素 */

#include <iostream>
#include "sqlist.cpp"
using namespace std;

// 删除最小值
int Del_Min(Sqlist &L)
{
  // 初始化最小值
  int min = L.data[0];
  
  // 记录最小值位置
  int pos = 0;
  
  // 遍历顺序表
  for (int i = 0; i < L.length; ++i)
    if (L.data[i] < min)
    {
      // 更新最小值
      min = L.data[i];
      pos = i;
    }
  
  // 覆盖最小值
  L.data[pos] = L.data[L.length - 1];
  
  // 更新长度
  L.length--;
  
  // 返回最小值
  return min;
}

int main()
{
  // 创建顺序表
  Sqlist L = {{12, 3, 5, 8, 9}, 5};
  
  // 返回最小值
  int min = Del_Min(L);
  
  // 打印处理之后的顺序表
  for (int j = 0; j < L.length; ++j)
    cout << L.data[j] << endl;
  
  // 打印原先的最小值
  cout << "最小值：" << min << endl;
}